package web;

import gerenciador.Usuario;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;

@WebFilter(urlPatterns="/*")
public class FiltroDeAuditoria implements Filter { // CRTL + 1 pegar os metodos..

	@Override
	public void destroy() {
		
	}

	@Override
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

		HttpServletRequest req = (HttpServletRequest) request;
		
		String uri    = req.getRequestURI();
	
		String usuario = getUsuario(req);
		
		System.out.println("Usuário: "+ usuario +" acessando a URI" + uri);
		chain.doFilter(request, response);	
	}

	private String getUsuario(HttpServletRequest req) {
		Usuario usuario = (Usuario) req.getSession().getAttribute("usuario.logado");
		if (usuario == null) return "<deslogado>";
		return usuario.getEmail();		
	}

	@Override
	public void init(FilterConfig arg0) throws ServletException {
		
	}


}
